module If(
    input [63:0] i_inst_addr,
    input [1:0] pcsource,
    input [63:0] branch_pc,
    input [63:0] jump_pc,

    output [63:0] o_inst_addr,
    output [63:0] pc4
);

    assign o_inst_addr = pcsource == 2'b10 ? jump_pc :(pcsource == 2'b01 ? branch_pc : i_inst_addr + 4);
    assign pc4 = i_inst_addr + 4;

endmodule
